/*
 * Modulo: Cadastro Pacientes
 * Função: Cadastrar Pacientes
 *
 * Criador: Ademir Cerqueira
 * Data: 20/01/2011
 *
 */

// Window Principal, responsavel por conter os dados de cadastro dos pacientes
//
// ---- Inicio Window CadastroPacientesWindow ------
var cadastroPacienteWindow = new Ext.Window({
    title:         'Cadastrar Paciente',
    y:             50,
    animateTarget: 'toda-pagina',
    modal:         true,
    width:         750,
    height:        410,
    resizable :    false,
    // layout:        'border',
    buttonAlign:   'center',
    bbar: new Ext.ux.StatusBar({
        id:          'form-statusbar',
        defaultText: 'Pronto',
        // Plugin do Ext que informa na barra de status a mensagem de erro de valida��o
        plugins: new Ext.ux.ValidationStatus({
            form:'cadastro-paciente'
        })
    }),
    items:[cadastroPacienteForm],

    buttons: [{
        text: 'Cadastrar',
        handler:function(){
            /* Verifica se todos os campos estão validados corretamente
                 * caso nao estejam, coloca na barra de status
                 * qual campo encontrasse incorreto
                 */
            if(cadastroPacienteForm.getForm().isValid()){

                // Mensagem de confirmação de cadastro
                Ext.MessageBox.confirm('Confirmar', 'Realmente deseja enviar os dados do paciente?', confirmarCadastro);
            }
        }

    },{
        text:    'Cancelar',
        handler: function(){
            cadastroPacienteWindow.close();
        }
    }]
});
// ---- Fim Window CadastroPacientesWindow ------


// Função que confirma se o usuario realmente deseja enviar o cadastro do funcionario
function confirmarCadastro(btn){
    if(btn == 'yes'){

        var barraStatus = Ext.getCmp('form-statusbar');

        barraStatus.showBusy('Cadastrando paciente...');
 
        //  cadastroPacienteForm.getEl().mask();

        cadastroPacienteForm.getForm().submit({
            method:    'POST',
            waitTitle: 'Conectando',
            waitMsg:   'Enviando dados...',
            url:'cadastrarpaciente.do',
            params: {
                idconvenio :  Ext.getCmp('idconvenio').getValue(),
                matricula  :  Ext.getCmp('matricula').getValue(),
                nome       :  Ext.getCmp('nome').getValue(), 
                nomemae    :  Ext.getCmp('nomemae').getValue(), 
                endereco   :  Ext.getCmp('endereco').getValue(), 
                cep        :  Ext.getCmp('cep').getValue(), 
                bairro     :  Ext.getCmp('bairro').getValue(), 
                cidade     :  Ext.getCmp('cidade').getValue(), 
                uf         :  Ext.getCmp('uf').getValue(), 
                titular    :  Ext.getCmp('titular').getValue(), 
                rg         :  Ext.getCmp('rg').getValue(), 
                cpf        :  Ext.getCmp('cpf').getValue(), 
                nomepai    :  Ext.getCmp('nomepai').getValue(), 
                obs        :  Ext.getCmp('obs').getValue()
            },
            success:function(){
                // Informa para barra de status que o formulario foi enviado com sucesso!
                barraStatus.setStatus({
                    text:'Paciente Cadastrado!',
                    iconCls:''
                });

                cadastroPacienteForm.getForm().reset();

                // Exibe tela informando que o Paciente foi cadastrado com sucesso
                Ext.MessageBox.alert('Sucesso','Paciente cadastrado com Sucesso!');
              

            },

            failure:function(form, action){
                if(action.failureType == 'server'){
                    // Informa para barra de status que o formulario não foi enviado com sucesso!
                    barraStatus.setStatus({
                        text:'Paciente Não Cadastrado!',
                        iconCls:'',
                        clear: true
                    });

                    // Exibe a mensagem de erro
                    obj = Ext.util.JSON.decode(action.response.responseText);
                    Ext.Msg.alert('Erro ao cadastrar paciente!', obj.errors.reason);
                    
                }else{
                    // Informa para barra de status que o formulario não foi enviado com sucesso!
                    barraStatus.setStatus({
                        text:'Paciente Não Cadastrado!',
                        iconCls:'',
                        clear: true
                    });
                    
                    Ext.Msg.alert('Atenção!', 'Servidor não está respondendo: <br><br> <a style="color:#FF0000">O Paciente não foi cadastrado!</a><br>');
                }
            }
        });

    }
}
